/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.erpnasajon.dao;

import br.com.erpnasajon.modelo.Acesso;
import br.com.erpnasajon.modelo.PerfilUsuario;
import br.com.erpnasajon.modelo.Usuario;
import br.com.erpnasajon.utils.HibernateUtil;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author RafaMend
 */
public class UsuarioDaoImp implements UsuarioDao {

    @Override
    public Usuario buscarUsuarioPorLogin(String login) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            String hql = "select u from br.com.erpnasajon.modelo.Usuario u "
                       + "where u.login = :login";
            Query consulta = session.createQuery(hql);
            consulta.setString("login", login);
            return (Usuario) consulta.uniqueResult();
        } finally {
            session.close();
        }
    }

    @Override
    public List<Acesso> buscarAcessosDoUsuario(PerfilUsuario perfil) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            String hql = "select a from br.com.erpnasajon.modelo.Acesso a "
                       + "where a.perfilusuario = :perfil";
            Query consulta = session.createQuery(hql);
            consulta.setLong("perfil", perfil.getPerfilusuario());
            return (List<Acesso>) consulta.list();
        } finally {
            session.close();
        }
    }
}
